"""
需求：进入系统显示系统功能界面，功能如下：
1、添加学员
2、删除学员
3、修改学员信息
4、查询学员信息
5、显示所有学员信息
6、退出系统
系统共6个功能，用户根据自己需求选取

"""


def welcome():
    print('-' * 20)
    print('欢迎登陆学员管理系统')
    print('1:添加学员')
    print('2:删除学员')
    print('3:修改学员信息')
    print('4:查询学员信息')
    print('5:显示所有学员信息')
    print('6:退出系统')
    print('-' * 20)


def add_info():
    print('-' * 6 + '添加学员' + '-' * 6)
    new_id = input('请输入学号:')
    new_name = input('请输入姓名:')
    new_tel = input('请输入电话:')
    # for语句:遍历列表，判断学员和姓名不重复，添加字典，列表
    for e in info:
        # 列表中的元素e是字典
        if new_id == e['id'] and new_name == e['name']:
            print('该用户已存在！不能重复添加')
            return
        # 不重复的情况下，学员信息添加到字典，再添加到列表
    dict1 = {}
    dict1['id'] = new_id
    dict1['name'] = new_name
    dict1['tel'] = new_tel
    info.append(dict1)
    print(f'添加成功！学员信息:{info}')


def del_info(del_name):
    """
    删除学员功能:
     若学员姓名存在，则删除
     不存在则提醒
    """
    # for语句：遍历列表，判断姓名存在的情况，删除该成员
    for e in info:
        if del_name == e['name']:
            info.remove(e)
            print('删除成功！')
            break
    # 学员姓名不存在的情况，提示信息
    # else跟for配对，当循环正常结束，会执行else
    # 若循环不正常结束(例如break)，else不会被执行
    else:
        print('该学员不存在！')
    # 打印出学员信息，测试看效果
    print(info)


def modify_info(modify_name, modify_tel):
    print('-' * 6 + '修改学员信息' + '-' * 6)
    for e in info:
        if modify_name == e['name']:
            e['tel'] = modify_tel
            print('修改成功!')
            print(info)
            break
    else:
        print('该学员不存在')
        print(info)


def select_info(select_name):
    print('-' * 6 + '查询学员信息' + '-' * 6)
    for e in info:
        if select_name == e['name']:
            print(f'您要查询的学员信息:{e}')
            break
    else:
        print('您要查询的学员不存在！')


def select_all():
    print('-' * 6 + '显示所有学员信息' + '-' * 6)
    print('学号\t姓名\t手机号')
    for e in info:
        print(f"{e['id']}\t{e['name']}\t{e['tel']}")


info = []
# 定义一个列表（全局变量），让所有功能都使用同一个列表
while True:
    # 欢迎界面
    welcome()
    # 任何输入都会被当成字符串
    choose = input('请输入您需要的功能序号:')
    if choose == '1':
        # 添加学员功能
        add_info()
    elif choose == '2':
        del_name = input('请输入要删除的学员姓名:')
        # 删除学员功能
        del_info(del_name)
    elif choose == '3':
        modify_name = input('请输入要修改的学员姓名:')
        modify_tel = input('请输入新的手机号:')
        modify_info(modify_name, modify_tel)
    elif choose == '4':
        select_name = input('请输入要查询的学员名称:')
        select_info(select_name)
    elif choose == '5':
        select_all()
    elif choose == '6':
        flag = input('确定要退出吗?yes or no:')
        if flag == 'yes':
            break
    else:
        print('输入有误！请重新选择您需要的功能序号')
